﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Ucb.Workshop.Dal;
using Ucb.Workshop.Model;
using Ucb.Workshop.Business;

namespace Ucb.Workshop.WinApp.View.GestionPedido
{
    public partial class BusquedaPedido : UserControl
    {
        DBManager conexion;
        Pedidoo pedido;

        public Pedidoo Pedido
        {
            get { return pedido; }
            set { pedido = value; }
        }
        
        public BusquedaPedido()
        {
            conexion = new DBManager();
            pedido = null;
            InitializeComponent();
            //this.llenarGrillaPedido("");
        }

        public void llenarGrillaPedido(string buscarEmpresa)
        {
            //string consulta = "SELECT p.cod_pedido, p.codigo, p.fecha, prov.empresa FROM pedido p, detallePedido dp, proveedor prov WHERE prov.empresa LIKE '%"+cadena+"%' AND prov.cod_proveedor = dp.cod_proveedor AND dp.cod_pedido = p.cod_pedido";
            string consulta = "SELECT DISTINCT(p.cod_pedido), p.fecha, prov.empresa,p.estado, p.total FROM pedido p, detalle_pedido dp,provee pv, proveedor prov WHERE  p.cod_pedido = dp.cod_pedido AND dp.cod_provee = pv.cod_provee AND pv.cod_proveedor = prov.cod_proveedor AND prov.empresa LIKE '%" + buscarEmpresa + "%'";
            conexion.LlenarGrid(gridPedido, consulta);


            gridPedido.Columns[0].Visible = false;
            gridPedido.Columns[1].HeaderText = "Fecha";
            gridPedido.Columns[2].HeaderText = "Empresa";
            gridPedido.Columns[3].HeaderText = "Estado";
            gridPedido.Columns[4].HeaderText = "Total Pedido";

        }

        public string datoGrid(int fila, int columna)
        {
            return gridPedido.Rows[fila].Cells[columna].Value.ToString();
        }

        private void txtEmpresa_KeyUp(object sender, KeyEventArgs e)
        {
            this.llenarGrillaPedido(txtEmpresa.Text.Trim());
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.llenarGrillaPedido(txtEmpresa.Text.Trim());
        }

        private void gridPedido_CellClick(object sender, DataGridViewCellEventArgs e)
        {
                 
            int fila = e.RowIndex;
            int columna = e.ColumnIndex;
            int numerofilas = gridPedido.Rows.Count;

            if (numerofilas > 0 && fila > -1)
            {
                // Capturamos los datos 
                Pedidoo p = new Pedidoo();
                p.CodPedido = int.Parse(datoGrid(fila, 0));
                p.Fecha = DateTime.Parse(datoGrid(fila, 1));
                p.Estado = datoGrid(fila, 3);
                p.Total = float.Parse(datoGrid(fila, 4));

                this.Pedido = p;
            }
        }
    }
}
